
package com.sx.core.page;

import org.springframework.core.convert.converter.Converter;


/**
 * TODO: DOCUMENT ME!
 *
 * @author   <a href="mailto:lihao@ozstrategy.com">Hao Li</a>
 * @version  03/27/2017 17:06
 */
public interface Page<T> extends Slice<T> {
  //~ Methods ----------------------------------------------------------------------------------------------------------

  /**
   * getter method for total elements.
   *
   * @return  long
   */
  long getTotalElements();

  //~ ------------------------------------------------------------------------------------------------------------------

  /**
   * getter method for total pages.
   *
   * @return  int
   */
  int getTotalPages();

  //~ ------------------------------------------------------------------------------------------------------------------

  /**
   * @see  Slice#map(Converter)
   */
  @Override <S> Page<S> map(Converter<? super T, ? extends S> converter);
} // end interface Page
